TD 11 : Normalisation FN3 et FNBC

Décomposition SPD, SPI, FN3 et FNBC

Normalisation
Décomposition
Perte de DF
Perte d'information
SPD
SPI
FN3
FNBC
Published

December 12, 2025

Exercice 1

L’étude d’un SI a conduit à ce diagramme des DF

Sur ce diagramme, on lit par exemple les DF:

  • \(\verb!#fournisseur! \to \verb!#nom_f!\)
  • \(\verb!#fournisseur!, \verb!#produit!, date \to \verb!#quantité!\)

L’équipe de conception vous a fourni ce modèle conceptuel

La traduction relationnelle donne ce schéma relationnel :

NoteQuestion

Déterminer si ce schéma relationnel entraine des pertes de DF ?

NoteQuestion

Pour chaque relation de ce schéma, déterminer les clés et vérifier si elle est en FNBC, sinon donner la forme normale optimale qu’elle vérifie.

NoteQuestion

Pour les tables qui ne sont pas FNBC, illustrer les redondances par des exemples de tuples.

NoteQuestion

En reprenant la conception du schéma, proposer un modèle E/A qui représente correctement les DF et le traduire en un modèle relationnel FNBC.

Exercice 2

On reprend un schéma \(\mathcal{A}\) déjà étudié dans le TD précédent.

\(\mathcal{A}\)={Occupant, Adresse, Noapt, Nbpersonnes, Nbpièces, Propriétaire}.

Un tuple (o, a, n, np, nr, p) a la signification suivante : la personne o habite à l’adresse a l’appartement de numéro n avec np personnes ayant nr pièces dont le propriétaire est p.

\(\mathcal{A}\) vérifie l’ensemble \(\Sigma\) des dépendances fonctionnelles suivantes

Occupant → Adresse
Occupant → Noapt
Occupant → Nbpersonnes
Adresse → Propriétaire
Adresse, Noapt → Occupant
Adresse, Noapt → Nbpièces

On considère les décompositions suivantes:

  • Décomposition 1 :
    • \(\mathcal{A_1}\) = {Occupant, Adresse, Nbpersonnes, Propriétaire},
    • \(\mathcal{A_2}\) = {Adresse, Noapt, Occupant, Nbpièces}.
  • Décomposition 2 :
    • \(\mathcal{A_1}\) = {Occupant, Nbpersonnes},
    • \(\mathcal{A_2}\) = {Adresse, Noapt, Occupant, Nbpièces},
    • \(\mathcal{A_3}\) = {Adresse, Propriétaire}.
NoteQuestion

Montrer que \(\Sigma\) est irredondante.

NoteQuestion

Montrer que ces décompositions sont sans pertes de DF.

NoteQuestion

En utilisant l’algorithme de poursuite, déterminer si ces décompositions sont sans pertes d’information.

NoteQuestion

Déterminer la FN optimale que vérifie chacune des décompositions.

NoteQuestion

Appliquer l’algorithme de décomposition FN3 vu en cours pour obtenir une décomposition de \(\mathcal{A}\) sans pertes de DF et sans pertes d’informations.

La décomposition obtenue est-elle FNBC ?

Comparer avec les décompositions précédentes.

WarningRetenir

Les normalisations FN2, FN3 et FNBC ne réduisent que les redondances internes à chaque table liées à l’existence de DF entre les attributs.

NoteQuestion

Appliquer l’algorithme de décomposition FNBC vu en cours pour obtenir une décomposition FNBC de \(\mathcal{A}\) sans pertes d’information. La décomposition préserve-t-elle toutes les DF ?

Comparer avec les décompositions précédentes.

Exercice 3

Soit le schéma \(\mathcal{A}\)={A,B,C,D,E,F,G,H} et l’ensemble \(\Sigma\) de DF \[ BE → AC  \quad B → H  \quad F → CD  \quad D → G \]

NoteQuestion

Appliquer l’algorithme de décomposition FNBC vu en cours pour obtenir une décomposition de \(\mathcal{A}\) qui est sans pertes d’information. Déterminer quelles DF sont préservées.

NoteQuestion

Peut-on, en ajoutant un sous-schéma à la décomposition, obtenir une décomposition FNBC sans pertes d’information et sans pertes de DF ?

NoteQuestion

Appliquer l’algorithme de décomposition FN3 vu en cours pour obtenir une décomposition de \(\mathcal{A}\) qui est sans pertes d’information et sans pertes de dépendance. Comparer avec la décomposition précédente.